using Mono.Cecil;
using Mono.Cecil.Cil;

namespace Cil.Ast
{
    public static partial class IlAst
    {
        #region Native Pointers (8)

        public static SingleInstructionExpression PtrCastToPointer(Instruction position, Expression instance)
        {
            return null;
        }

        public static SingleInstructionExpression PtrCastToMethodHandler(Instruction position, MethodReference method, Expression methodPointer)
        {
            return null;
        }

        public static SingleInstructionExpression PtrCastToValue(Instruction position, Expression pointer, TypeReference ref_type)
        {
            return null;
        }

        public static SingleInstructionExpression PtrCopyFromToValue(Instruction position, TypeReference ref_type, Expression exp_source, Expression destination)
        {
            return null;
        }

        public static SingleInstructionExpression PtrSetValue(Instruction position, Expression exp_address, Expression exp_instance)
        {
            return null;
        }

        public static SingleInstructionExpression PtrMemAlloc(Instruction position, Expression exp_allocsize)
        {
            return null;
        }

        public static SingleInstructionExpression PtrMemInit(Instruction position, Expression address, Expression initValue, Expression bytesNum)
        {
            return null;
        }

        public static SingleInstructionExpression PtrMemCopy(Instruction position, Expression source, Expression destination, Expression bytesToCopy)
        {
            return null;
        }

        #endregion

        #region Misc (5)

        public static SingleInstructionExpression SkippedInstruction(Instruction position)
        {
            return null;
        }

        public static Expression UncoveredInstruction(Context context, Instruction position)
        {
            return new Expression(context);
        }

        #endregion
    }
}